// 1-2 日期&时间-当前时间与UTC时间
/**
 * C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构，需要在 C++ 程序中引用 <ctime> 头文件。
 * 
 * 有四个与时间相关的类型：clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。
 * 
 * 结构类型 tm 把日期和时间以 C 结构的形式保存，tm 结构的定义如下：
    struct tm {
      int tm_sec;   // 秒，正常范围从 0 到 59，但允许至 61
      int tm_min;   // 分，范围从 0 到 59
      int tm_hour;  // 小时，范围从 0 到 23
      int tm_mday;  // 一月中的第几天，范围从 1 到 31
      int tm_mon;   // 月，范围从 0 到 11
      int tm_year;  // 自 1900 年起的年数
      int tm_wday;  // 一周中的第几天，范围从 0 到 6，从星期日算起
      int tm_yday;  // 一年中的第几天，范围从 0 到 365，从 1 月 1 日算起
      int tm_isdst; // 夏令时
    };
 * 
 * ---------------------------
 * 当前时间与UTC时间
 * 
*/

#include <iostream>
#include <ctime>

int main(void)
{
  time_t now;
  now = time(0);
  struct tm *ptr;

  std::cout << "本地时间 : " << ctime(&now) << std::endl;
  std::cout << "本地时间 : " << asctime(localtime(&now)) << std::endl;

  ptr = gmtime(&now);

  std::cout << "UTC时间 : " << asctime(ptr) << std::endl;

  printf("--------end----------\n");
  // system("pause");
  return 0;
}